package com.wit.witmg.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 粒度分析主表
 * </p>
 *
 * @author bob
 * @since 2025-04-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tpadata")
@ApiModel(value="TPAdata对象", description="粒度分析主表")
public class TPAdata implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "识别码")
    @TableField("Guid")
    private String Guid;

    @ApiModelProperty(value = "数据来源的原始文件名")
    @TableField("FileName")
    private String FileName;

    @ApiModelProperty(value = "样品名称")
    @TableField("SampleName")
    private String SampleName;

    @ApiModelProperty(value = "样品编号")
    @TableField("SampleSerialNumber")
    private String SampleSerialNumber;

    @ApiModelProperty(value = "样品批号")
    @TableField("SampleLotNo")
    private String SampleLotNo;

    @ApiModelProperty(value = "样品来源")
    @TableField("SampleSource")
    private String SampleSource;

    @ApiModelProperty(value = "测试者")
    @TableField("Tester")
    private String Tester;

    @ApiModelProperty(value = "Sop名称")
    @TableField("SopName")
    private String SopName;

    @ApiModelProperty(value = "测量时间")
    @TableField("MeasurementTime")
    private Date MeasurementTime;

    @ApiModelProperty(value = "修改日期")
    @TableField("LastModifiedTime")
    private Date LastModifiedTime;

    @ApiModelProperty(value = "样品材质")
    @TableField("MaterialName")
    private String MaterialName;

    @ApiModelProperty(value = "样品材质折射率")
    @TableField("MaterialRefractiveIndex")
    private Double MaterialRefractiveIndex;

    @ApiModelProperty(value = "样品材质吸收率")
    @TableField("MaterialAbsorptionIndex")
    private Double MaterialAbsorptionIndex;

    @ApiModelProperty(value = "分散介质")
    @TableField("DispersantName")
    private String DispersantName;

    @ApiModelProperty(value = "分散介质折射率")
    @TableField("DispersantRefractiveIndex")
    private Double DispersantRefractiveIndex;

    @ApiModelProperty(value = "分析模式 0、通用模型，1、通用增强，2、多重窄峰（Top适用），3、单峰（Top适用），4、单峰，5、亚微米模式（Pop9, 609,909 适用）")
    @TableField("Model")
    private Integer Model;

    @ApiModelProperty(value = "遮光率")
    @TableField("Obscuration")
    private Double Obscuration;

    @ApiModelProperty(value = "分析范围")
    @TableField("ResultRange")
    private String ResultRange;

    @ApiModelProperty(value = "进样器名")
    @TableField("Sampler")
    private String Sampler;

    @ApiModelProperty(value = "结果类型 0-体积，1-数量，2-长度，3-表面积")
    @TableField("ResultType")
    private Integer ResultType;

    @ApiModelProperty(value = "D10")
    @TableField("D10")
    private Double d10;

    @ApiModelProperty(value = "D50")
    @TableField("D50")
    private Double d50;

    @ApiModelProperty(value = "D90")
    @TableField("D90")
    private Double d90;

    @ApiModelProperty(value = "D97")
    @TableField("D97")
    private Double d97;

    @ApiModelProperty(value = "D3")
    @TableField("D3")
    private Double d3;

    @ApiModelProperty(value = "D20")
    @TableField("D20")
    private Double d20;

    @ApiModelProperty(value = "D25")
    @TableField("D25")
    private Double d25;

    @ApiModelProperty(value = "D75")
    @TableField("D75")
    private Double d75;

    @ApiModelProperty(value = "D80")
    @TableField("D80")
    private Double d80;

    @ApiModelProperty(value = "D(3,2)")
    @TableField("D32V")
    private Double d32v;

    @ApiModelProperty(value = "D(4,3)")
    @TableField("D43V")
    private Double d43v;

    @ApiModelProperty(value = "Span")
    @TableField("Span")
    private Double Span;

    @ApiModelProperty(value = "体积比表面积(sq.m/c.c.)")
    @TableField("Ssav")
    private Double Ssav;

    @ApiModelProperty(value = "重量比表面积(㎡/kg)")
    @TableField("Ssaw")
    private Double Ssaw;

    @ApiModelProperty(value = "加权残差(%)")
    @TableField("WeightedDifference")
    private Double WeightedDifference;

    @ApiModelProperty(value = "残差(%)")
    @TableField("Difference")
    private Double Difference;

    @ApiModelProperty(value = "DminValue")
    @TableField("DminValue")
    private Double DminValue;

    @ApiModelProperty(value = "DmaxValue")
    @TableField("DmaxValue")
    private Double DmaxValue;

    @ApiModelProperty(value = "仪器编号")
    @TableField("InstrumentId")
    private String InstrumentId;

    private transient List<TPAPEdata> PercentageEigenvalueDatas;

    private transient List<TPAFDdata> FrequencyDistributionDatas;


}
